package dao;

import java.sql.Date;
import java.sql.SQLException;
import java.util.ArrayList;

import model.BookSearchCriteria;
import model.BookingDTO;
import model.RequestBooking;

public interface BookingDAO {
public void insertBooking(BookingDTO book)throws SQLException;
public int updateBooking(int BookingID,String status)throws SQLException;
public void deleteBooking(int BookingID)throws SQLException;
public BookingDTO findByBookingID(int BookingID)throws SQLException;
public ArrayList<BookingDTO> findAllBooking()throws SQLException;
public ArrayList<BookingDTO> findByCriteria(BookSearchCriteria criteria);
public ArrayList<BookingDTO> findCurrentBookings();
public int findNumberOfBooking(String StaffID,int Month);
public void updateBooking(BookingDTO booking);
public BookingDTO findByBookingID(String BookingID);
public ArrayList<RequestBooking> findPendingBooking();
public ArrayList<BookingDTO> ViewMonthlyUsage(Date date1,Date date2) throws SQLException;
public ArrayList<BookingDTO> ViewbyStaff(String staffID) throws SQLException;

}
